#include "Ennemis.h"
#include <algorithm>

//constructeurs
Ennemis::Ennemis() : Tab()
{}

Ennemis::~Ennemis()
{
	this->vider();
}

//fonctions
Ennemis& Ennemis::deplacement()
{
	std::remove_if(Tab.begin(),Tab.end(),[](Vaisseau *V)
	{
		if (V->Getvie()>0) return false;
		delete V;
		return true;
	});
	std::for_each(Tab.begin(),Tab.end(),[](Vaisseau * V){ V->deplacement(); });
	return *this;
}

Ennemis& Ennemis::ajouterVaisseau(Vaisseau* V)
{
	Tab.push_back(V);
	return *this;
}

Ennemis& Ennemis::supprimerVaisseau(iterator it)
{
	delete *it;
	Tab.erase(it);
	return *this;
}

Ennemis& Ennemis::vider()
{
	std::for_each(Tab.begin(),Tab.end(),[](Vaisseau * V){ delete V; });
	Tab.clear();
	return *this;
}

bool Ennemis::vide()
{
	return Tab.empty();
}